home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 January: Mac OS SDK / Dev.CD Jan 97 SDK2.toast / Development Kits (Disc 2) / OpenDoc Development Framework / Getting Started / MPW Development / MPW Additions / INTO Interfaces&Libraries / Cyberdog SDK / PublicIncludes / CyberProgressBroadcaster.idl < prev    next >
Encoding:
Text File  |  1996-08-02  |  2.6 KB  |  111 lines  |  [TEXT/MPS ]

  1. #ifndef __CYBERPROGRESSBROADCASTER__
  2. #define __CYBERPROGRESSBROADCASTER__
  3.  
  4. #include "ODObject.idl"
  5. #include "CyberMisc.idl"
  6.  
  7. /*==============================================================================
  8. // Foward Declarations
  9. ===============================================================================*/
  10.  
  11. interface     CyberProgressBroadcaster;    
  12. interface      CyberProgressReceiver;
  13.  
  14. /*==============================================================================
  15. // Constants & Defs
  16. ===============================================================================*/
  17.  
  18. #pragma somemittypes on
  19. const short    kMeteredProgess    = 0;
  20. const short    kUnmeteredProgress    = 1;
  21.  
  22. #pragma somemittypes off
  23. typedef somToken    CyberAbortUPP;
  24.  
  25.  
  26. /*==============================================================================
  27. // CyberProgressBroadcaster
  28. ===============================================================================*/
  29.  
  30. interface CyberProgressBroadcaster : ODObject
  31. {
  32.     void     ICyberProgressBroadcaster(in CyberAbortUPP proc, in Ptr procData);
  33.     
  34.     void    Abort();
  35.     
  36.     void    AttachReceiver(in CyberProgressReceiver receiver);
  37.     void    DetachReceiver(in CyberProgressReceiver receiver);
  38.  
  39.     long                     CountReceivers();
  40.     CyberProgressReceiver     GetReceiver(in long index); // zero based
  41.  
  42.     void    GetProgressMode(out short mode);
  43.     void    GetProgressPercent(out short percentDone);
  44.     void    GetAmountDone(out long amtDone);
  45.     void     GetAmountTotal(out long amtTotal);
  46.     void     GetStatusString(in StringPtr statusStr);
  47.     void    GetErrorString(in StringPtr errorStr);
  48.         
  49.     void    ResetProgress();
  50.     void    SetProgressMode(in short mode);            // kMeteredProgess, kUnmeteredProgress
  51.     void    SetProgressPercent(in short percentDone);
  52.     void    SetAmountDone(in long amtDone);
  53.     void     SetAmountTotal(in long amtTotal);
  54.     void     SetStatusString(in StringPtr statusStr);
  55.     void    SetErrorString(in StringPtr errorStr);
  56.  
  57.     
  58.     #ifdef __PRIVATE__
  59.     somToken    GetPrivateData();
  60.     #endif
  61.     
  62. #ifdef __SOMIDL__
  63.     implementation
  64.     {
  65.       functionprefix = CyberProgressBroadcaster__;
  66.  
  67.     override:
  68.         somInit,
  69.         somUninit;
  70.         
  71.     releaseorder:
  72.         ICyberProgressBroadcaster,
  73.         Abort,
  74.         AttachReceiver,
  75.         DetachReceiver,
  76.         GetProgressMode,
  77.         GetProgressPercent,
  78.         GetAmountDone,
  79.         GetAmountTotal,
  80.         GetStatusString,
  81.         GetErrorString,
  82.         CountReceivers,
  83.         GetReceiver,
  84.         ResetProgress,
  85.         SetProgressMode,
  86.         SetProgressPercent,
  87.         SetAmountDone,
  88.         SetAmountTotal,
  89.         SetStatusString,
  90.         SetErrorString,
  91.         #ifdef __PRIVATE__
  92.         GetPrivateData;
  93.         #else
  94.         reserved;
  95.         #endif
  96.         
  97.     majorversion = 1; minorversion = 0;
  98.  
  99.     #ifdef __PRIVATE__
  100.     somToken    fRealClass;
  101.     #endif
  102.  
  103.     passthru C_xh =     ""
  104.                         "#include \"CyberdogProcPtrs.h\""
  105.                         "";
  106.     };
  107. #endif //__SOMIDL__
  108. };
  109.  
  110. #endif // __CYBERPROGRESSBROADCASTER__
  111.